#include<stdio.h>
int is_prime(int x)
{
	int cnt = 0;
	if(x==1)
		return 0;
	if(x==2)
		return 1;
	for(int i=x-1;i>=2&&i<x;i--)
	{
		if(x%i==0)
			cnt++;
	}
	if(cnt==0)
		return 1;
	else
		return 0;
}
int main()
{
	int n,k;
	int cnt = 0;
	int arr[10]={0};
	scanf("%d %d",&n,&k);
	for(int i=n-1;i<n&&i>1;i--)
	{
		if(is_prime(i))
		{arr[cnt]=i;
			cnt++;
		}
		if(cnt==10)
			break;
	}
	int cntprint=cnt<k?cnt:k;
	int add = 0;
	for(int y=0;y<cntprint;y++)
	{
		add=add+arr[y];
	}
	for(int t = 0;t<cntprint;t++)
	{
		printf("%d",arr[t]);
		if(t!=cntprint-1)
			printf("+");
		
	}
	printf("=%d",add);
		
	return 0;
}
//#include<stdio.h>
//int is_prime(int x)
//{
//	int cnt = 0;
//	for(int i = 2;i<x;i++)
//	{
//		if(x%i==0)
//		{cnt++;}
//	}
//	if(cnt==0)
//		return 1;
//	else
//		return 0;
//}
//int main()
//{
//	int n,k;
//	int cnt = 0;
//	int add = 0;
//	scanf("%d %d",&n,&k);
//	int arr1[10]={0};
//	for(int i=n;i<=n&&i>1;i--)
//	{
//		if(is_prime(i))
//		{arr1[cnt]=i;cnt++;}
//		if(cnt==10)
//		{break;}
//	}
//	k=(k<cnt)?k:cnt;
//	for(int s=0;s<k;s++)
//	{
//		add = add+arr1[s];
//	}
//	for(int t = 0;t<k;t++)
//	{
//		// if(arr1[t]!=0)
//		{printf("%d",arr1[t]);
//			if(t!=k-1)printf("+");
//		}
//	}
//	printf("=%d",add);
//	
//	return 0;
//}

